// 感觉这道题很简单, 就是区间之间22组合, 做出交集
// 交集作为一个区间, 需要进行合并, 这个时候以右区间进行升序, 然后进行合并,
// 最后升序排列并输出
const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let n;
let initArr = [];
rl.on("line", (line)=>{
    if(n === undefined) {
        n = Number(line.trim())
    } else {
        initArr.push(line.trim().split(" ").map(Number))
        if(initArr.length === n) {
            getResult(n, initArr)

            // clear
            n = undefined
            initArr.length = 0
        }
    }

})

function getResult(n, initArr) {
    let arr = []
    initArr.sort((a, b) => a[1] - b[1])
    // 任意两个区间的交集
    for (let i = 0; i < initArr.length - 1 ; i++) {
        for (let j = i + 1; j < initArr.length; j++) {
            const [a, b] = initArr[i]
            const [c, d] = initArr[j]
            if(b >= c) {
                arr.push([c ,b])
            }
        }
    }
    if(arr.length === 0) {
        console.log("None")
        return
    }
    
    // 区间进行合并
    arr.sort((a, b) => a[1] - b[1])
    let ans = []
    let before = arr[0]
    for (let i = 1; i < arr.length ; i++) {
        const [a, b] = arr[i]
        if(a <= before[1]) {
            before = [Math.min(a, before[0]),b]
        } else {
            ans.push(before)
            before = arr[i]
        }
    }
    ans.push(before)

    // 左区间的升序排列
    ans.sort((a, b) => a[0] - b[0])
    for (const [a, b] of ans) {
        console.log(`${a} ${b}`)
    }
}